package org.jeecgframework.codegenerate.database.util;

import java.util.List;
import org.apache.commons.lang.StringUtils;

import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;

public class StringUtil {
	public StringUtil() {
	}

	public static String toString(String[] var0) {
		return StrUtil.join(",", var0);
	}

	public static String lowerFirst(String var0) {
		return StrUtil.lowerFirst(var0);
	}

	public static Integer getIfPresent(Integer var0) {
		return var0 == null ? 0 : var0;
	}

	public static boolean equalsAny(String var0, String[] var1) {
		return StrUtil.equalsAny(var0, var1);
	}

	public static boolean a(String var0, List<String> var1) {
		return StrUtil.equalsAny(var0, var1.toArray(new String[var1.size()]));
	}

	public static String yesFlag(String flag) {
		if (!"YES".equals(flag) && !"yes".equals(flag) && !"y".equals(flag) && !"Y".equals(flag) && !"f".equals(flag)) {
			return !"NO".equals(flag) && !"N".equals(flag) && !"no".equals(flag) && !"n".equals(flag)
					&& !"t".equals(flag) ? null : "N";
		} else {
			return "Y";
		}
	}

	public static String getFieldType(String var0, String precision, String scale) {
		if (var0.contains("char")) {
			var0 = "java.lang.String";
		} else if (var0.contains("int")) {
			var0 = "java.lang.Integer";
		} else if (var0.contains("float")) {
			var0 = "java.lang.Float";
		} else if (var0.contains("double")) {
			var0 = "java.lang.Double";
		} else if (var0.contains("number")) {
			if (StringUtils.isNotBlank(scale) && Integer.parseInt(scale) > 0) {
				var0 = "java.math.BigDecimal";
			} else if (StringUtils.isNotBlank(precision) && Integer.parseInt(precision) > 10) {
				var0 = "java.lang.Long";
			} else {
				var0 = "java.lang.Integer";
			}
		} else if (var0.contains("decimal")) {
			var0 = "java.math.BigDecimal";
		} else if (var0.contains("date")) {
			var0 = "java.util.Date";
		} else if (var0.contains("time")) {
			var0 = "java.util.Date";
		} else if (var0.contains("blob")) {
			var0 = "byte[]";
		} else if (var0.contains("clob")) {
			var0 = "java.sql.Clob";
		} else if (var0.contains("numeric")) {
			var0 = "java.math.BigDecimal";
		} else {
			var0 = "java.lang.Object";
		}
		return var0;
	}
}
